/**
 *	The NeuroCoSA Toolkit
 *	Copyright (C) 2003-6 Stuart Meikle.
 *
 *	This is free software; you can redistribute it and/or
 *	modify it under the terms of the GNU Lesser General Public
 *	License as published by the Free Software Foundation; either
 *	version 2.1 of the License, or (at your option) any later version.
 *
 *	This library is distributed in the hope that it will be useful,
 *	but WITHOUT ANY WARRANTY; without even the implied warranty of
 *	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *	Lesser General Public License for more details.
 *
 * @author	Stuart Meikle
 * @version	2006-halloween(mk2)
 * @license	LGPL
 */
package org.stumeikle.NeuroCoSA.AutoCluster;

/* Comments:
 * 20060125	stumeikle	new classes to abstract away the data type.
 *				used by the STLTMemory
*/

import java.util.*;
import java.awt.*;
import java.awt.event.*;
import java.lang.*;
import java.util.*;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.table.*;
import javax.swing.event.*;

	
public	interface	NMeasurable
{
    public	double		distanceTo( NMeasurable p );
    public	double		distanceSquaredTo( NMeasurable p );
    public	void		add( NMeasurable p );
    public	void		subtract( NMeasurable p );    
    public	double		magnitude();
    public	void		divideByScalar( double d );
    public	void		multiplyByScalar( double d );
    public	NMeasurable	createNewZero();
    public	NMeasurable	createCopy();	//ARGH
    public	double		dotProduct(NMeasurable d);
}
